tengo lo siguiente:
const d = new Date(); const data = `${d.getFullYear()}-${d.getMonth()}-${d.getDay()}-${d.getHours()}-${d.getMinutes()>30?30:0}`Efectivamente, esto da una nueva cadena cada 30 min.
Estaba pensando cómo hacer esto pasando una cantidad y teniendo el mismo efecto durante [n] segundos/minutos
Traté de usar getTime() pero estoy atascado hasta ahora. Ese enfoque me da un número entero que no encontré forma de ejercitar la misma lógica que la anterior.
¿Alguna idea de cómo puedo lograr eso?
Suponiendo que no le importe el contenido de la cadena, solo quiere que sea único dentro del intervalo. Puede dividir la marca de tiempo por el intervalo en el que desea que la cadena sea la misma.
function dateKey(intervalMs) { return (Date.now() / intervalMs | 0).toString(); } function dateKeySeconds(intervalSec) { return dateKey(intervalSec * 1000) } function dateKeyMinutes(intervalMin) { return dateKey(intervalMin * 60 * 1000) } // This will log new string every 30 seconds setInterval(() => { console.log(dateKeySeconds(30)) }, 10000)